/**
描述:
在一个长为 字符串中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1（需要区分大小写）.（从0开始计数）
数据范围：0≤n≤10000 且字符串只有字母组成。
要求：空间复杂度 O(n) 时间复杂度 O(n)
输入：
"google"
返回值：
4
*/
package likou;

import java.util.HashMap;

public class 第一个只出现一次的字符 {
    public static void main(String[] args) {
        System.out.println(FirstNotRepeatingChar("google"));
    }
    public static int FirstNotRepeatingChar(String str) {
        HashMap<Character,Integer> map= new HashMap();
        for(int i=0;i<str.length();i++){
           if (map.containsKey(str.charAt(i))){
               map.put(str.charAt(i),map.get(str.charAt(i))+1);
           }else {
               map.put(str.charAt(i),1);
           }
        }
        System.out.println(map);
        for(int i=0;i<str.length();i++){
            if(map.get(str.charAt(i))==1){
                return i;
            }
        }
        return -1;
    }

}
